# Define here the models for your scraped items
#
# See documentation in:
# https://docs.scrapy.org/en/latest/topics/items.html

import scrapy


class IndicesItem(scrapy.Item):
    activity = scrapy.Field()
    citations = scrapy.Field()
    diversity = scrapy.Field()
    gindex = scrapy.Field()
    hindex = scrapy.Field()
    newStar = scrapy.Field()
    pubs = scrapy.Field()
    risingStar = scrapy.Field()
    sociability = scrapy.Field()


class ProfileItem(scrapy.Item):
    address = scrapy.Field()
    affiliation = scrapy.Field()
    org = scrapy.Field()
    position = scrapy.Field()
    position_zh = scrapy.Field()
    bio = scrapy.Field()
    bio_zh = scrapy.Field()
    edu = scrapy.Field()
    email = scrapy.Field()
    fax = scrapy.Field()
    gender = scrapy.Field()
    homepage = scrapy.Field()
    lang = scrapy.Field()
    phone = scrapy.Field()
    work = scrapy.Field()


class AminerItem(scrapy.Item):
    # define the fields for your item here like:
    id = scrapy.Field()
    name = scrapy.Field()
    name_zh = scrapy.Field()
    num_followed = scrapy.Field()
    num_viewed = scrapy.Field()
    num_upvoted = scrapy.Field()
    indices = scrapy.Field()  # IndicesItem
    profile = scrapy.Field()  # ProfileItem
    avatar = scrapy.Field()
    pass


class TagItem(scrapy.Item):
    tag = scrapy.Field()
    score = scrapy.Field()
    pass


class ExpertItem(scrapy.Item):
    id = scrapy.Field()
    url = scrapy.Field()
    name = scrapy.Field()
    name_zh = scrapy.Field()
    nation = scrapy.Field()
    profile = scrapy.Field()  # ProfileItem
    tags = scrapy.Field()  # TagItem
    pass


